

//创建自定义多级联动组件,data需要外部配置
function createPicter(obj){
	var defaultObj = {
		target:"",
		layer:2,
		data:[{value: '110000',text: '北京市',children: [{value: "110101",text: "东城区"}]}]
	}
	for(var i in obj){
		defaultObj[i] = obj[i]
	}
	var picker = new mui.PopPicker({
		layer: defaultObj.layer
	});
	picker.setData(defaultObj.data);
	if(defaultObj.target!=""){
		defaultObj.target.on("click",function(){
			var $this = $(this);
			picker.show(function(SelectedItem) {
				var txt = "";
				SelectedItem.map(function(ele,index){
					if(ele.hasOwnProperty("text")){
						txt += (ele.text+" ")
					}
				});
				$this.val(txt)
			})
		})
	}else{
		picker.show(function(SelectedItem) {
			console.log(SelectedItem);
		})
	}
}
//创建一个右滑编辑的组件

function createSwiperEdit(obj){
	var defaultObj = {
		target:""
	};
	for(var i in obj){
		defaultObj[i] = obj[i]
	}
	
	if(defaultObj.target==""){alert("请传入需要滑动的容器"); return}
	
	var mySwipers = new Swiper(defaultObj.target, {
		loop: false,
		slidesPerView : "auto"
	});
	return mySwipers;
}

//编辑筛选按钮点击时的事件
function createFliterMenus(obj){
    var defaultObj = {
        target:"",
        controlBtn:""
    };
    for(var i in obj){
        defaultObj[i] = obj[i]
    }
    if(defaultObj.target==""){alert("请传入需要滑动的容器"); return}

    var offCanvasWrapper = mui('.mui-off-canvas-wrap');//侧面菜单容器

	if(defaultObj.controlBtn!=""){
    	//console.log(mui(defaultObj.controlBtn));
        mui(defaultObj.target).on('tap',defaultObj.controlBtn,function(){
        	//console.log(this);
            offCanvasWrapper.offCanvas('show');
        });
	}
    var offCanvasInner = document.querySelector('.mui-inner-wrap');
    offCanvasInner.addEventListener('drag', function(event) {
    	// console.log(event);
    	// console.log(event.detail.deltaX);
    	// if(event.detail.deltaX<0){
            event.stopPropagation();
		// }else{
         //    event.preventDefault();
         //    //offCanvasWrapper.offCanvas('show');
		// }

    });
}

//创建一个通过监听上下滑动来改变元素定位变为fixed的方法
function listenSwiperUpDown(obj){
	var defaultObj = {
		target:null,
		distance:"44px",
		sibling:null
	};
    for(var i in obj){
        defaultObj[i] = obj[i]
    }
    if(defaultObj.target==null){alert("请传入需要监听的容器"); return}

    defaultObj.target[0].addEventListener("swipeup",function () {
        defaultObj.target.attr({
            "style":"top:"+ defaultObj.distance+" !important;"
        });
        if(defaultObj.sibling!=null){
            defaultObj.sibling.attr({
                "style":"height:0 !important;"
            });
        }
    });

    var newTarget;

    //还原需要做判断,是否还原的时候存在tab的情况
    if(defaultObj.target.find(".mui-slider-item").length){
        newTarget = defaultObj.target.find(".mui-slider-item");
    }else{
        newTarget = defaultObj.target;
	}
    newTarget.each(function(){
		$(this)[0].addEventListener("swipedown",function () {
			var str = $(this).find(".mui-scroll").css("transform").split(",").pop();
			if(Number(str.substring(0,str.length-1))>=0){
                defaultObj.target.removeAttr("style");
                if(defaultObj.sibling!=null){
                    defaultObj.sibling.removeAttr("style");
                }
			};




		});
	});



}

//创建一个可左右滑动的图片展示列表,图片可点击放大
function initFreeSwiper(obj){
    var defaultObj = {
        target:null,
		clickTar:null,
        swiperOption:{
            freeMode : true,
            slidesPerView :"auto",
            spaceBetween:8
        }
    };
    for(var i in obj){
        defaultObj[i] = obj[i]
    }
    if(defaultObj.target==null){alert("请传入需要初始化的容器class或id"); return}

    var mySwiper = new Swiper (defaultObj.target,defaultObj.swiperOption);

	if(defaultObj.clickTar!=null){
        var timeoutId;
        defaultObj.clickTar.on("tap",function(){
        	var _this = this;
            if(timeoutId){
                clearTimeout(timeoutId)
            }
            timeoutId = setTimeout(function(){
                layer.open({
                    type: 1
                    ,content:$(_this).find("img").clone().removeAttr("style").css({"maxWidth":"80%","maxHeight":"50%","display":"block","margin":"0 auto"})[0].outerHTML
                    ,style:"background-color:transparent;"

                });
			},100);
		});
	}

}

//解决tab切换导航位于头部时切换效果失效的问题
function slideWithHeader(obj){
    var defaultObj = {
        slide:null,
        slideControl:null
    };
    for(var i in obj){
        defaultObj[i] = obj[i]
    }
    if(defaultObj.slide==null||defaultObj.slideControl==null){alert("请传入关联的slide与slideControl的id"); return}

    document.getElementById(defaultObj.slide).addEventListener('slide', function(e) {
        var indexNum = e.detail.slideNumber;
        $("#"+defaultObj.slideControl).find(".mui-control-item").eq(indexNum).addClass("mui-active").siblings().removeClass("mui-active");
    });
}

//由于mui tab切换不能嵌套,所以自定义一个简易的tab初始化函数
function createMyTab(obj){
    var defaultObj = {
        tabControl:null,
        tabItem:null
    };
    for(var i in obj){
        defaultObj[i] = obj[i]
    }
    if(defaultObj.tabControl==null||defaultObj.tabItem==null){alert("请传入tab id或class"); return}

    $(defaultObj.tabItem+":gt(0)").hide();
    $(defaultObj.tabControl).children().on("tap",function(){
        var index = $(this).index();
        $(this).addClass("qy-active").siblings().removeClass("qy-active");
        $(defaultObj.tabItem+":eq("+index+")").show().siblings().hide();
    })



}


$(function(){
    //默认返回按钮事件为返回历史记录
    $(".mui-icon-back").on("tap",function(){
        window.history.back();
    });
    //a标签事件还原
    mui('body').on('tap','a',function(){
        if(this.href.indexOf("#")!=-1){return;}
        document.location.href=this.href;
    });
});